Implementation of Speculative Parallelism in Functional Languages
نویسندگان
چکیده
A compile-time analysis technique is developed to derive the probability with which a user-defined function or a supercombinator requires each one of its arguments. This provides a basis for identifying useful speculative parallelism in a program. The performance of speculative evaluation is compared with that of lazy evaluation, and the necessary conditions under which speculative evaluation performs better are identified.
منابع مشابه
Speculative Evaluation for Parallel Graph Reduction
Speculative evaluation can improve the performance of parallel graph reduction systems through increased parallelism. Although speculation is costly, much of the burden can be absorbed by processors which would otherwise be idle. Despite the overhead required for speculative task management, our prototype implementation achieves 70% eeciency for speculative graph reduction, with little impact o...
متن کاملSemantics-based parallel cost models and their use in provably efficient implementations
Understanding the performance issues of modern programming language execution can be di cult. These languages have abstract features, such as higher-order functions, laziness, and objects, that ease programming, but which make their mapping to the underlying machine more di cult. Understanding parallel languages is further complicated by the need to describe what computations are performed in p...
متن کاملThe Impact of Laziness on Parallelism and the Limits of StrictnessAnalysisG
The major question examined by this paper is whether suucient ne-grain parallelism can be obtained from programs written in a lazy functional language. To answer this question, we have implemented a prototype compiler based on a novel approach to strictness analysis (called abstract demand propagation) and we have compared this implementation strategy (optimized lazy) with other implementations...
متن کاملThe Impact of Laziness on Parallelism and the Limits of Strictness Analysis
The major question examined by this paper is whether suucient ne-grain parallelism can be obtained from programs written in a lazy functional language. To answer this question, we have implemented a prototype compiler based on a novel approach to strictness analysis (called abstract demand propagation) and we have compared this implementation strategy (optimized lazy) with other implementations...
متن کاملTowards an Operational Semantics for a Parallel Non-Strict Functional Language
Parallel programs must describe both computation and coordination , i.e. what to compute and how to organize the computation. In functional languages equational reasoning is often used to reason about computation. In contrast, there have been many diierent coordination constructs for functional languages, and far less work on reasoning about coordination. We present an initial semantics for GpH...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- IEEE Trans. Parallel Distrib. Syst.
دوره 5 شماره
صفحات -
تاریخ انتشار 1994